Conventionally, if a user of a device, apparatus, service, or system, for instance a computer system (hardware or software) has a problem and the user requires support, the user usually has a few options. The user may search for a solution on the Internet, largely through search engines. The user may use a general purpose web search engine or an embedded search engine inside each individual web site. These web sites may include a manufacturer's company site, or common public forums and blogs. However, there are vast amounts of information on the Internet, and there is limited time a user can spend to search for the correct solution. Another option is telephoning a customer service representative in a call center. However, the customer service representative may also have to go through the vast amount of information stored publicly on the Internet as well as the company's own internal knowledge bases.
Furthermore, user support interfaces available on computer systems rely heavily on user input. For example, any help query on a conventional support interface requires a user to issue a plurality of information regarding the user's device, apparatus, service, or system, typically on a remote computer system or webpage. The information may be compared to a fixed hierarchy of existing “frequently asked questions” or typical answers, and the results of the comparison returned to the user. It follows that if the user does not receive a proper answer, or if the answer is incomplete, the user must manually enter multiple requests until a proper answer is returned. Further, as most systems are either local or remote, it is difficult for either instance to establish a reasonable set of solutions.